package com.lin.service;


import com.lin.common.result.PageResult;
import com.lin.entity.MusicCategory;
import com.lin.entity.Search;
import com.lin.entity.dto.MusicDTO;
import com.lin.entity.vo.MusicVO;

import java.util.List;

public interface MusicService {

    /**
     * 获取谱架分类
     * @return
     */
    List<MusicCategory> getCategory();

    /**
     * 获取每日推荐
     *
     * @return
     */
    List<MusicVO> getRecommend();

    /**
     * 按条件分页查询
     *
     * @param musicDTO
     * @return
     */
    PageResult getMusic(MusicDTO musicDTO);

    /**
     * 获取用户的搜索历史
     * @param userId
     * @return
     */
    List<Search> getSearchByUserId(Integer userId);

    /**
     * 获取热门搜索
     * @return
     */
    List<String> getPopularSearches();

    /**
     * 删除用户搜索记录
     * @param search
     */
    void deleteSearch(Search search);

    /**
     * 获取乐谱详情
     * @param id
     * @return
     */
    MusicVO getMusicDetail(Integer id);


    void updateMusic(MusicVO musicVO);
}
